package com.choosefine.springboot.devops.demo.beetl;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/v1/springboot/demo/beetl")//这里是整个控制器公用的url部分
public class BeetlController {
    @Autowired
    ObjectMapper jsonObjectMapper;
    @Autowired
    BeetleService beetleService;
    @RequestMapping("/index.html")//这个是当前的url特有的url部分
    public ModelAndView home() {//ModelAndView就是返回模板和视图
        ModelAndView view = new ModelAndView("/v1/springboot/demo/beetl/view.btl");
        view.addObject("total", 100);
        return view;
    }
    @RequestMapping("/table.html")//这个是当前的url特有的url部分
    public ModelAndView table(String queryStr) throws JsonProcessingException {//ModelAndView就是返回模板和视图
        ModelAndView view = new ModelAndView("/v1/springboot/demo/beetl/table.btl");
        Map map=new HashMap();//创建一个用以返回数据的对象（任意），可以是实体类，map，list
        map.put("status",200);
        map.put("templateIf",queryStr);
        /**
         ** 2xx 代表着执行成功
         *  4xx 代表着找不到数据，客户端错误（例如：客户输入的查询条件找不到对应的数据，客户端没有权限查看数据等）
         *  5xx 代表着后台错误
         */
        map.put("message","数据查询成功!");
        List list=beetleService.getAll();
        map.put("data",list);
        view.addAllObjects(map);
        return view;
    }
}
